package com.aplana.ccsd.service;

import info.magnolia.module.blossom.dialog.TabBuilder;

import java.util.List;

import javax.jcr.Node;
import javax.jcr.RepositoryException;

import com.aplana.ccsd.enums.TabNumber;
import com.aplana.ccsd.model.Project;
import com.aplana.ccsd.model.ProjectOverview;

public interface ProjectService {

	Project getProject(Node projectPage) throws RepositoryException;

	/**
	 * Получить произвольный проект для компонента просмотра
	 */
	ProjectOverview getRandomProjectOverview(Node randomProjectComponent)
			throws RepositoryException;

	void addRandomProjectOverviewDialogControls(TabBuilder tabBuilder);

	void addProjectDialogControls(TabBuilder tabBuilder, TabNumber tabNumber) throws RepositoryException;
	
	void addProjectListDialogControls(TabBuilder tabBuilder);

	Node getProjectListPage(Node component)
			throws RepositoryException;

	/**
	 * Найти все проекты хранящиеся в указанной узле-странице
	 */
	List<Project> findProjects(Node projectsParentPage) throws RepositoryException;

}
